package DAO;

/**
 *
 * @author eagle
 */
//import models.EstudianteLogro;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;

public class EstudianteLogroDao {

    protected EntityManager em;
//    private EstudianteLogro eslg = new EstudianteLogro();

    public EstudianteLogroDao(EntityManager em) {
        this.em = em;
    }

//    public EstudianteLogro crearEstudianteLogro(Integer idEstudiante, Integer idLogro, String calificacionLogro) {
//
//        eslg.setIdlogro(idLogro);
//        eslg.setIdestudiante(idEstudiante);
//        eslg.setCalificacionlogro(calificacionLogro);
//        em.persist(eslg);
//        return eslg;
//    }
    /*
    public Area intanciarArea(Object objeto) {
    ar = (Area) objeto;
    return ar;
    }
     */

    /*
    public Area encontrarArea(Integer idArea) {
    return em.find(Area.class, idArea);// con esta funcion se buscas un dato por primary key, el primer parametro es nuestra clase entidad
    }
     */

    /*
    public Area encontrarArea(String nombreArea) {
    Query q = em.createQuery("SELECT ar FROM Area ar WHERE ar.nombreArea='" + nombreArea + "'");
    if (q.getResultList().isEmpty() == true) {
    return null;
    } else {
    ar = (Area) q.getSingleResult();
    return ar;
    }
    }*/

    /*
    public void borrarArea(Integer idArea) {
    ar = encontrarArea(idArea);//en este caso podemos borrar un Area por nombre
    if (ar != null) {//si no lo encuentra por supuesto no lo intenta borrar
    em.remove(ar);// borra de la tabla ese registro
    }

    }
     */
//    public EstudianteLogro actualizarCalificaciones(String idEstudiante, String idLogro, String calificacion) {
//
//        eslg = encontrarCalificacionLogroEst(idEstudiante, idLogro); //Uso un metodo de esta misma clase que me retorna un solo dato con una busqueda por nombre
//        if (eslg == null) {
//            System.out.println("Error No. 31 No existe logro asociado al estudiante");
//        } else if (calificacion.equals("true")) {
//            eslg.setCalificacionlogro("s");
//        } else if (calificacion.equals("false")) {
//            eslg.setCalificacionlogro("n");
//        }
//        return eslg;
//    }

    /*
    public List encontrarAreas() { //encontrar todos los usuarios
    Query query = em.createQuery("SELECT ar.nombreArea FROM Area ar");// Ojo la sentencia está en Java Query Language, no SQL
    List<Area> lista = query.getResultList();
    return (lista);
    }
     *//*
    public List encontrarAreasId() { //encontrar todos los usuarios
    Query query = em.createQuery("SELECT ar.idArea FROM Area ar");// Ojo la sentencia está en Java Query Language, no SQL
    List<Area> lista = query.getResultList();
    return (lista);
    }
     */

//    public EstudianteLogro encontrarCalificacionLogroEst(String idEst, String idLogro) {
//        Query query = em.createQuery("SELECT eslg FROM EstudianteLogro eslg WHERE eslg.idestudiante=" + idEst + " AND eslg.idlogro=" + idLogro);
//        if (query.getResultList().isEmpty() == true) {
//            return null;
//        } else {
//            EstudianteLogro est = (EstudianteLogro) query.getSingleResult();
//            return est;
//        }
//
//    }

//    public List<EstudianteLogro> encontrarEstudianteLogroGrado(Integer idAsignatura) {
//        Query query = em.createQuery("SELECT eslg.idestlogro, eslg.idestudiante, eslg.idlogro, eslg.calificacionlogro  FROM Logro lg, EstudianteLogro eslg WHERE lg.idlogro = eslg.idlogro AND lg.idasignatura=" + idAsignatura);
//        List<EstudianteLogro> lista = query.getResultList();
//        return lista;
//    }
}
